The Reaper Bot
on October 5, 1996]] The Reaper Bot is a modification for Quake that adds bot opponents to the game. This modification was made by Steven Polge on October 5, 1996. Reaper Bots have become well known in the Quake community as one of the best and most advanced bot modifications out there, even if it was left in an incomplete state. The greatest strength of the Reaper Bot is that it learns levels as it plays them. Each bot has their own internal map that creates a sort of "memory" for the AI, thus allowing them to remember where resources are. It knows how to shoot a Shootable Button and acquire a hidden Secret, plus can also press Buttons to reach areas that would be otherwise inaccessible. For example, the Reaper Bot is intelligent enough to know how to get the Rocket Launcher in DM5: The Cistern. The Reaper Bot knows what is inaccessible, meaning it will not continuously try to go after something that is behind a trigger that must be reached elsewhere, nor will it be stuck trying to reach an object it cannot figure out how to get (instead switching to something else). Reaper Bots can also use Wind Tunnels. The Reaper Bot has an intelligent list of priorities based on its needs, thus allowing it to get Armor and Weapons as needed while working with its internal map. Furthermore, the Reaper Bot is designed to be able to use tricks such as Circle Strafes to make themselves a lot harder to hit. When using the Rocket Launcher, the Reaper Bot is careful not to hit itself with Splash Damage when fighting around corners. They also gauge the value of dropping from a platform and how much it will injure them, plus avoid falling into Lava or Slime. They can also swim in Water, Reaper Bots will avoid drowning as often as they can, plus will avoid using the Thunderbolt unless they have a Pentagram of Protection. They also know to flee from invulnerable opponents. As Reaper Bots have a high focus on self-preservation, they will also retreat as needed to gather more resources. All of this makes a Reaper Bot a harder opponent to defeat, since the number of suicides will be less extreme than with other bots of the time. They can also Telefrag each other or players, plus can be Telefragged. The Reaper Bot also changes Grenade Launcher trajectory based on the gravity. Note that the Reaper Bot has multiple skill levels, set by setting the Difficulty. This setting controls the accuracy, ability to track opponents, speed of firing after it has already fired, how often it gets stunned, how fast it takes to react, and whether the bot is smart enough to lead the player's attacks. The author was very particular about ensuring that the Reaper Bot never cheated, every action the Reaper Bot can do is one that a player could also do. Movement speed is based on the player's movement speed. With the great amount of intelligence, skill 0 manages to be about on par with skill 3 of BotSkin, making these bots far more challenging on higher skill levels. Reaper Bots can be added with a simple impulse key. Note that once added, however, there is no way to remove a Reaper Bot unless the server is restarted. The bots will be retained between levels, meaning more will not need to be added in, and a limit of 16 has been set similar to the maximum number of players a server can hold. This prevents packet overloads and other instabilities. Scores are calculated by using the formula (2 * Kills) - Deaths - (2 * Suicides). Hitting the button to show scores features a detailed breakdown. Bots and Players are separated into their own respective areas, which are in turn separated to showcase the amount of times they killed an opponent versus how many times they died. Suicides are also calculated separately from deaths. Players can alternatively use the Classic Score System, which does not multiply values by 2. This latter system can be particularly useful when used alongside a frag limit, due to the scores being based off of that value. Unlike earlier bot modifications, the Reaper Bot can hit a frag limit and win a match. Note that, due to the need of an impulse to see the scores of the bots, this can lead to the level ending prematurely without the player having an ability to see what the final results were. The player can also turn on and off Limited Observer Mode at will. In this mode, the player is unable to pick up resources or attack opponents, but can move around and observe the Reaper Bots as they fight each other. Said Reaper Bots will ignore the player while in Limited Observer Mode. Teamplay is supported by the modification. All bots added via Impulses 205 and 208 will belong to a bot-only team. The player can use Impulses 101-115 to set bots on their own team, said bots will have the same color and use the same name as the person that generated them. While the Reaper Bots are highly intelligent in comparison to past bots, they are not perfect. Examining their actions can prove that they can get confused and roam in circles while trying to navigate levels. This is largely in part due to the design; Reaper Bots are made in such a way that they generate paths in a cache while also trying to cut down on the number due to performance concerns. Bots with dedicated paths, as in ones designed specifically for a level, would be more reliable and less performance taxing; the downside being that the original game was not made for bots with mind and thus every level would need to be modified to support paths. This means that the Reaper Bots often are seen as one of the best options without resorting to bot specific maps; allowing the player the ability to play any Deathmatch level. Another weakness of the modification is its support for skins; while placeholder impulses have been set, the bots will always appear to be Ranger. This is the primarily lacking feature that was found in some other bots of the time, such as BotSkin. While the author planned to expand on this, Reaper Bots was left in an incomplete state, meaning that Reaper Bots often work best in cases where the player does not need to differentiate between individual bots. Furthermore, the Reaper Bot does not like it when "sv_aim" is changed from its default value of 0.93. Messages will continually spam about the issue. Regardless, The Reaper Bot became the standard by which all other bot modifications were measured. Steve Polge later went on to design the Bots for Unreal and its sequels; he focused a lot on customization abilities. Furthermore, due to designing the game from the ground up with bots, he was able to make the bots more intelligent by utilizing paths that did not need to be calculated on the fly. Impulses * Impulses 101-115 - Limits the number of bots and players to a certain number (between 1 and 15); not counting the player (meaning 15 is actually 16 in a server). Also adds the maximum number set; note that the number cannot be decreased once added. With teamplay on, all of this is disabled, and instead becomes values to determine the number of bots on the player's team. * Impulse 200 - Next Skin (useless in current version). * Impulse 201 - Previous Skin (useless in current version). * Impulse 202 - Sets MultiSkin support (does not work in current version). * Impulse 203 - Turns off MultiSkin support (worthless in current version). * Impulse 205 - Adds a Reaper Bot. * Impulse 208 - Adds four Reaper Bots. * Impulse 210 - Scores. * Impulse 212 - Turns on Limited Observer Mode. * Impulse 213 - Turns off Limited Observer Mode. * Impulse 214 - Updates Bot calculations (in the event server variables such as gravity and movement speed are changed). * Impulse 215 - Verbose Mode (displays information about every action the bot does) * Impulse 216 - Turns off Verbose Mode. * Impulse 218 - Restricted Mode (Only the first player on a server can use the new impulses outside of scoring). * Impulse 219 - Super Restricted Mode (No clients can use the new impulses outside of scoring; the values cannot be changed on a listen server and can only be changed by the host on a dedicated server). * Impulse 220 - Classic Score System. Version History Beta 0.7 - October 20, 1996 * Message informs player that Reaper Bots exist in game upon entering level. Also informs player about teamplay and the number of current bots. * Introduction now works properly, Teleporters now don't change Difficulty mid-game. * Random delay added to the spawning of each bot. This was done to prevent loops where they constantly frag each other. * Restructure of AI's goal mechanics. * Better AI in general; AI less likely to die due to Lava now. They can also navigate Wind Tunnels now. * Route caching, AI can now remember routes to some extent. The author notes that currently it doesn't do much, but will be substantial in the future. * AI now can use Moving Platforms, staying on them until the next target, and can time jumps onto them. * Strafing functions properly. * Bots now try to take advantage of Splash Damage, meaning they will fire at enemies around a corner with the attempt of using radius damage to kill them. * Bots will back up before using the Rocket Launcher. * Bots no longer get stunned by the Nailgun. * Changing the level in any way except through the Console will respawn all bots. * Bots can trigger the end of a level if they hit the frag limit. * Teamplay support added. It is currently simplistic in nature, meaning friendly fire is always on even though your teammates appear to bleed when shot. * Added impulses 218-220. * MultiSkin support added. Does not function properly however. * Observers can no longer pick up Weapons. * Skill 0 is easier, bots fire at a slower rate and pause movement between shots. * Added warning upon each bot respawn if sv_maxspeed or sv_aim is not set to the default values. * Fixed bug where bot could be in Lava or Slime without taking damage. * Fixed spawn point bug. * Fixed bot visibility in Water. * Added an additional .CFG file for some common aliases. Beta 0.6 - October 5, 1996 * Official release __NOEDITSECTION__ Category:Quake 1996 closed-source mods Category:Quake bots